﻿using System.Collections.Generic;
using System.Collections.Specialized;

namespace Loki.Model
{
    public interface IEntityLinkContainer<TEntityKey> : IEnumerable<IEntityLink<TEntityKey>>, INotifyCollectionChanged
    {
        IEnumerable<IEntityLink<TEntityKey>> GetAllByLeft(TEntityKey P_LeftValue);

        IEnumerable<IEntityLink<TEntityKey>> GetAllByRight(TEntityKey P_RightValue);

        void InvalidateLeftKey(TEntityKey P_FkValue);

        void InvalidateRightKey(TEntityKey P_FkValue);
    }
}